package com.dsteiner.widgets.client.resources;

import com.dsteiner.widgets.client.JsUtil;
import com.dsteiner.widgets.client.PrintableImage;
import com.dsteiner.widgets.client.Widgets;
import com.dsteiner.widgets.client.Widgets.IImage;
import com.dsteiner.widgets.client.model.PrintableImageModel;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.google.gwt.user.client.ui.ImageBundle;

public interface WidgetsImageBundle extends ImageBundle {


	public static class Util {
		private static WidgetsImageBundle instance;
		public static WidgetsImageBundle getInstance() {
			if(instance == null){
				instance = (WidgetsImageBundle) GWT.create(WidgetsImageBundle.class);
			}
			return instance;
		}
		
		public static IImage getFavoriteCheckedImage(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.checkedFavoritesImage());
			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/heart_selected_sm.gif");
			return new PrintableImage(printableImageModel);
		}
		public static IImage getFavoriteNonCheckedImage(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.nonCheckedFavoritesImage());
			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/heart_deselected_sm.gif");
			return new PrintableImage(printableImageModel);
		}
		public static PrintableImageModel getStarNormalImage(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starNormal());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarRated1Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starRated1());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_1_selected.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarRated2Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starRated2());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_2_selected.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarRated3Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starRated3());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_3_selected.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarRated4Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starRated4());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_4_selected.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarRated5Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starRated5());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_5_selected.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarSelected1Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starSelected1());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_1.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarSelected2Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starSelected2());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_2.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarSelected3Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starSelected3());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_3.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarSelected4Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starSelected4());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_4.png");
			return printableImageModel;
		}
		public static PrintableImageModel getStarSelected5Image(){
			PrintableImageModel printableImageModel = new PrintableImageModel();
			printableImageModel.setImage(instance.starSelected5());
//			printableImageModel.setUrl(JsUtil.getInstance().getDomainUrl()+"/images/icons/star_5.png");
			return printableImageModel;
		}
	}

	@Resource("com/dsteiner/widgets/public/icons/close2.png")
	public AbstractImagePrototype closeIcon();

	@Resource("com/dsteiner/widgets/public/images/clipboard_small.png")
	public AbstractImagePrototype clipboard();
	
	@Resource("com/dsteiner/widgets/public/icons/heart_deselected_sm.gif")
	public AbstractImagePrototype nonCheckedFavoritesImage();
	
	@Resource("com/dsteiner/widgets/public/icons/heart_selected_sm.gif")
	public AbstractImagePrototype checkedFavoritesImage();
	
	@Resource("com/dsteiner/widgets/public/icons/star.png")
	public AbstractImagePrototype starNormal();

	@Resource("com/dsteiner/widgets/public/icons/star_1_selected.png")
	public AbstractImagePrototype starRated1();

	@Resource("com/dsteiner/widgets/public/icons/star_1.png")
	public AbstractImagePrototype starSelected1();

	@Resource("com/dsteiner/widgets/public/icons/star_2_selected.png")
	public AbstractImagePrototype starRated2();

	@Resource("com/dsteiner/widgets/public/icons/star_2.png")
	public AbstractImagePrototype starSelected2();

	@Resource("com/dsteiner/widgets/public/icons/star_3_selected.png")
	public AbstractImagePrototype starRated3();

	@Resource("com/dsteiner/widgets/public/icons/star_3.png")
	public AbstractImagePrototype starSelected3();
	
	@Resource("com/dsteiner/widgets/public/icons/star_4_selected.png")
	public AbstractImagePrototype starRated4();

	@Resource("com/dsteiner/widgets/public/icons/star_4.png")
	public AbstractImagePrototype starSelected4();
	
	@Resource("com/dsteiner/widgets/public/icons/star_5_selected.png")
	public AbstractImagePrototype starRated5();

	@Resource("com/dsteiner/widgets/public/icons/star_5.png")
	public AbstractImagePrototype starSelected5();
	
	@Resource("com/dsteiner/widgets/public/icons/notepad_desaturated-nq8.png")
	public AbstractImagePrototype notepadDefaultImage();
	
	@Resource("com/dsteiner/widgets/public/icons/notepad-nq8.png")
	public AbstractImagePrototype notepadImage();
	
	@Resource("com/dsteiner/widgets/public/icons/rating_down.png")
	public AbstractImagePrototype ratingDownIcon();
	
	@Resource("com/dsteiner/widgets/public/icons/rating_up.png")
	public AbstractImagePrototype ratingUpIcon();
}